#pragma once

#include "AdaptationMap.h"
#include "AdaptationType.h"
#include "AirspaceBaseVolume.h"
#include "../Core/Singleton.h"

class AirspaceVolume : public AdaptationType
{
public:
	std::string Name;
	std::list<AirspaceBaseVolume*> AirspaceBaseVolumes;
	std::string Key();
	void ParseDictionary(Dictionary p_Dictionary);
	bool IsInclude(Point p_Point);
};

class AirspaceVolumeMap : public AdaptationMap<AirspaceVolume>, public Singleton<AirspaceVolumeMap>
{
	friend class Singleton<AirspaceVolumeMap>;

private:
	AirspaceVolumeMap();

public:
	std::list<AirspaceVolume*> GetAirspaceVolume(Point p_Point);
};
